package com.google.code.chaotic.dto;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;

//

public class CommutingHabitDto implements Serializable {

	/** @uml.property name="id" */
	private String id;

	/** @uml.property name="origin" */
	private LatLonDto origin;

	/** @uml.property name="destination" */
	private LatLonDto destination;

	/** @uml.property name="departureTime" */
	private Date departureTime;

	/** @uml.property name="arrivalTime" */
	private Date arrivalTime;

	/** @uml.property name="startDate" */
	private Date startDate;

	/** @uml.property name="endDate" */
	private Date endDate;

	/**
	 * @uml.property name="commuter"
	 * @uml.associationEnd 
	 *                     inverse="commutingHabits:com.google.code.chaotic.dto.CommuterDto"
	 */
	private CommuterDto commuter;

	/**
	 * @uml.property name="waypoints"
	 * @uml.associationEnd multiplicity="(0 -1)" ordering="true"
	 *                     aggregation="composite" inverse=
	 *                     "commutingHabit:com.google.code.chaotic.dto.HabitWaypointDto"
	 */
	private ArrayList<HabitWaypointDto> waypoints = new ArrayList<HabitWaypointDto>();

	/** @uml.property name="version" */
	private Date version;

	//

	/** @uml.property name="id" */
	public void setId(String id) {
		this.id = id;
	}

	/** @uml.property name="id" */
	public String getId() {
		return id;
	}

	/** @uml.property name="origin" */
	public LatLonDto getOrigin() {
		return origin;
	}

	/** @uml.property name="origin" */
	public void setOrigin(LatLonDto origin) {
		this.origin = origin;
	}

	/** @uml.property name="destination" */
	public LatLonDto getDestination() {
		return destination;
	}

	/** @uml.property name="destination" */
	public void setDestination(LatLonDto destination) {
		this.destination = destination;
	}

	/** @uml.property name="departureTime" */
	public Date getDepartureTime() {
		return departureTime;
	}

	/** @uml.property name="departureTime" */
	public void setDepartureTime(Date departureTime) {
		this.departureTime = departureTime;
	}

	/** @uml.property name="arrivalTime" */
	public Date getArrivalTime() {
		return arrivalTime;
	}

	/** @uml.property name="arrivalTime" */
	public void setArrivalTime(Date arrivalTime) {
		this.arrivalTime = arrivalTime;
	}

	/** @uml.property name="startDate" */
	public Date getStartDate() {
		return startDate;
	}

	/** @uml.property name="startDate" */
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	/** @uml.property name="endDate" */
	public Date getEndDate() {
		return endDate;
	}

	/** @uml.property name="endDate" */
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	/** @uml.property name="commuter" */
	public CommuterDto getCommuter() {
		return commuter;
	}

	/** @uml.property name="commuter" */
	public void setCommuter(CommuterDto commuterDto) {
		this.commuter = commuterDto;
	}

	/** @uml.property name="waypoints" */
	public ArrayList<HabitWaypointDto> getWaypoints() {
		return waypoints;
	}

	/** @uml.property name="waypoints" */
	public void setWaypoints(ArrayList<HabitWaypointDto> waypoints) {
		this.waypoints = waypoints;
	}

	/** @uml.property name="version" */
	public Date getVersion() {
		return version;
	}

	/** @uml.property name="version" */
	public void setVersion(Date version) {
		this.version = version;
	}
}
